<template>
	<!-- 使用说明：<private-tip :privateShow="AAA"></private-tip>
		1.privateShow:控制弹窗显隐
	 -->
	<view class="privateTip" v-if="privateShow">
		<view class="p-bgc"></view>
		<view class="p-content" v-if="!disagree">
			<view class="pc-title">隐私保护提示</view>
			<view class="pc-text">
				为了更好地保障您的个人权益，在您使用{{appConfig.cfg_miniProgramName}}小程序前，请您仔细阅读
				<text @click="openPrivacyContract">《用户隐私保护指引》</text>，
				并确认了解我们的服务内容。我们将在条款说明的范国内收集、使用您的个人信息。如果您不同意，我们将不能继续为您提供服务。
				<view style="margin-top: 20rpx;"></view>
				若您点击“同意并继续”按钮，表示您已理解并同意以上协议全部内容。
			</view>
			<view class="pc-btn">
				<!-- 标签中的id属性不要删除，否则回调事件不会触发 -->
				<button class="disagree" @click="disagree=true;maskState()">不同意</button>
				<button class="agree" id="agree-btn" open-type="agreePrivacyAuthorization"
					@agreeprivacyauthorization="agreeFn">同意并继续</button>
				<view class="mask" v-if="maskb"></view>
			</view>
		</view>
		<view class="p-content" v-else>
			<view class="pc-title">温馨提示</view>
			<view class="pc-text">
				如果您不同意<text
					@click="openPrivacyContract">《用户隐私保护指引》</text>，我们将无法为您提供{{appConfig.cfg_miniProgramName}}小程序服务。
			</view>
			<view class="pc-btn">
				<navigator class="disagree" open-type="exit" target="miniProgram">退出小程序</navigator>
				<!-- 标签中的id属性不要删除，否则回调事件不会触发 -->
				<button class="agree" id="agree-btn" open-type="agreePrivacyAuthorization"
					@agreeprivacyauthorization="agreeFn">同意并继续</button>
				<view class="mask" v-if="maskb"></view>
			</view>
		</view>
	</view>
</template>

<script>
	let app = getApp();
	let _this;
	export default {
		name: "privateTip",
		props: {
			privateShow: {
				type: Boolean,
				default: false,
			}
		},
		data() {
			return {
				disagree: false,
				maskb: false,
				appConfig: ''
			}
		},
		mounted() {
			_this = this;
			if (_this.privateShow) {
				_this.maskState();
			}
			if (app.globalData.appConfig) {
				_this.appConfig = app.globalData.appConfig;
			} else {
				app.watchG('appConfig', function(value) {
					_this.appConfig = value;
				});
			}
		},
		methods: {
			agreeFn() { //同意协议
				app.globalData.wxprivate = false;
				app.reloadFn();
			},
			openPrivacyContract() { //查看协议
				uni.openPrivacyContract();
			},
			maskState() { //超出遮罩显隐
				let query = uni.createSelectorQuery().in(this);
				_this.$nextTick(res => {
					query.select('.pc-text').boundingClientRect(res => {
						let maxHeight = uni.upx2px(300);
						_this.maskb = Boolean(res.height >= maxHeight);
					}).exec();
				})
			}
		}
	}
</script>

<style>
	@import url("private_tip.css");
</style>